// var count = 0

// function text() {
//     count++
// }

// text()//1
// text()//2
// text()//3

//怎样不借助外部变量，如何保留住函数内部的某个变量
//闭包
function add() {
    var num = 0
    // num ++           这样每次执行add（），num都从0开始
    // console.log(num);

    //使用闭包
    function a() {
        num++
        console.log(num);
    }
    return a

}
var result = add()
result()//1        //在result执行完之后，回收机制只回收了 a ，因为rseult只是add（）的返回值
result()//2         //在上面的调用执行后，只回收了一次a，num并没有回收，num记录了次数
